package com.flu.holidays.service;

import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONObject;
import com.flu.holidays.constant.DayEnum;
import com.flu.holidays.modeel.DayTypeModel;


public interface HolidayService {


    /**
     * 获取今天的日期类型
     * @return
     */
    DayTypeModel getDayType();

    /**
     * 获取指定日期的日期类型
     * @param date
     * @return
     */
    DayTypeModel getDayType(String date);

    /**
     * 获取json格式的假期配置
     * @return
     */
    JSONObject getJsonConfig();

    /**
     * 未配置指定年份节假日时获取默认的model
     * @param dateTime
     * @return
     */
    default DayTypeModel getDefaultModel(DateTime dateTime){
        if (DateUtil.isWeekend(dateTime)){
            DayTypeModel model = DayEnum.WEEKEND.toModel();
            model.setConfig(Boolean.FALSE);
            return model;
        }
        DayTypeModel model = DayEnum.WORKING_DAY.toModel();
        model.setConfig(Boolean.FALSE);
        return model;
    }

}
